Change Management is central to ensuring the availability, reliability, and quality of information technology (IT) services. Change Management signifies the process by which IT systems are modified to accommodate considerations such as software fixes, hardware upgrades and performance enhancements. The change management process typically starts with the submission of a Request For Change (RFC), which can be viewed as a job in scheduling terms. Many RFCs may be considered for execution concurrently. Some or all of these RFCs may be chosen to be done during a period of time known as a change window. The RFC describes what is to be done, usually in terms of hardware/software artifacts to change (deploy, install, configure, uninstall). It might also indicate the deadline by which the change needs to be completed. Examples include changing the schema of a database table in a running application and installing a new release of a web application server in a multi-tiered eCommerce system. An important observation is that many changes are not explicitly included in the RFC. Rather, they are merely implied. For example, applications must be recompiled if they use a database table whose schema is to change. Implicit changes are a result of various kinds of relationships, such as service dependencies and resource sharing. There is a well-established methodology for change management. Some key steps in this methodology are:
1. Assess the impact of changes in terms of the resources and services affected;
2. Create a Change Plan that dictates how the change should be implemented;
3. Verify the Change Plan (for example, through review by a change management team in discussions with affected departments);
4. Test the Change Plan by doing “dry runs”, especially for very disruptive and/or high risk changes;
5. Ultimately implement the change by executing the plan.
A Change Plan typically consists of a set of tasks needed to complete the RFC, such as “bring down application server 1” and “copy x.ini to server 2”. The plan itself specifies the partial order of tasks. Note that items (2)-(5) relate to creating, evaluating, and implementing the Change Plan.
In the current state of the art Change Plans are created manually, not automatically. But this manual creation process is time consuming, difficult and error prone. For a large computing system it may be almost impossible. A need therefore exists for automating change management.